package com.springdoor.goods.domain;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.springdoor.common.annotation.Excel;
import com.springdoor.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品主体信息对象 sprd_goods_main
 *
 * @author llshs
 * @date 2024-05-21
 */
public class SprdGoodsMain extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品id */
    private Long goodsId;

    /** 商品编码 */
    @Excel(name = "商品编号")
    private String gNumber;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 关联商品 */
    @Excel(name = "关联商品")
    private String assNumber;

    /** 品牌id */
    private Long brandId;

    /** 品牌 */
    @Excel(name = "品牌")
    private String brandName;

    /** 类型id */
    private Long typeId;

    /** 类型 */
    @Excel(name = "类型")
    private String typeName;

    /** 价格 */
    @Excel(name = "价格")
    private Integer price;

    /** 库存 */
    @Excel(name = "库存")
    private Integer stockQuantity;

    /** 分类属性 */
    private String assort;

    /** 图片ID */
    private Long imageId;

    /** 图片地址 */
    private String image;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer orderNum;

    /** 状态（0未上架 1已上架 2已售空 3已断货） */
    @Excel(name = "状态")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    private Map<String, Object> entry = new HashMap<String, Object>();

    /** 商品参数信息信息 */
    private List<SprdGoodsConfig> sprdGoodsConfigList = new ArrayList<>();

    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }

    public String getgNumber() {
        return gNumber;
    }

    public void setgNumber(String gNumber) {
        this.gNumber = gNumber;
    }

    public void setGoodsName(String goodsName)
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName()
    {
        return goodsName;
    }

    public String getAssNumber() {
        return assNumber;
    }

    public void setAssNumber(String assNumber) {
        this.assNumber = assNumber;
    }

    public void setBrandId(Long brandId)
    {
        this.brandId = brandId;
    }

    public Long getBrandId()
    {
        return brandId;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public void setTypeId(Long typeId)
    {
        this.typeId = typeId;
    }

    public Long getTypeId()
    {
        return typeId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public void setPrice(Integer price)
    {
        this.price = price;
    }

    public Integer getPrice()
    {
        return price;
    }

    public Integer getStockQuantity() {
        return stockQuantity;
    }

    public void setStockQuantity(Integer stockQuantity) {
        this.stockQuantity = stockQuantity;
    }

    public String getAssort() {
        return assort;
    }

    public void setAssort(String assort) {
        this.assort = assort;
    }

    public Long getImageId() {
        return imageId;
    }

    public void setImageId(Long imageId) {
        this.imageId = imageId;
    }

    public void setImage(String image)
    {
        this.image = image;
    }

    public String getImage()
    {
        return image;
    }
    public void setOrderNum(Integer orderNum)
    {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum()
    {
        return orderNum;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public List<SprdGoodsConfig> getSprdGoodsConfigList()
    {
        return sprdGoodsConfigList;
    }

    public void setSprdGoodsConfigList(List<SprdGoodsConfig> sprdGoodsConfigList)
    {
        this.sprdGoodsConfigList = sprdGoodsConfigList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("goodsId", getGoodsId())
                .append("gNumber", getgNumber())
                .append("goodsName", getGoodsName())
                .append("assNumber", getAssNumber())
                .append("brandId", getBrandId())
                .append("typeId", getTypeId())
                .append("price", getPrice())
                .append("stockQuantity", getStockQuantity())
                .append("imageId", getImageId())
                .append("image", getImage())
                .append("orderNum", getOrderNum())
                .append("assort", getAssort())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("remark", getRemark())
                .append("sprdGoodsConfigList", getSprdGoodsConfigList())
                .toString();
    }
}
